package pl.edu.mimuw.mas.ontology.concept;

import jade.content.Predicate;

import java.util.Date;

/**
 * Predykat opisujacy pozycję agenta.
 */
public class Position implements Predicate {
	private static final long serialVersionUID = 4887046165728491992L;

	private String agentId;
	private Point point;
	private Color color;
	private Date eventDate;

	public Position() {	}

	public Position(String agentId, int x, int y, float z, int r, int g, int b) {
		super();

		Point point = new Point(x, y, z);
		Color color = new Color(r, g, b);

		init(agentId, point, color);
	}
	
	public Position(String agentId, int x, int y, int r, int g, int b) {
		super();

		Point point = new Point(x, y);
		Color color = new Color(r, g, b);

		init(agentId, point, color);
	}

	public Position(String agentId, Point point, Color color) {
		super();
		init(agentId, point, color);
	}

	private void init(String agentId, Point point, Color color) {
		this.agentId = agentId;

		this.point = point;
		this.color = color;

		this.eventDate = new Date();
	}

	public String getAgentId() {
		return this.agentId;
	}

	public void setAgentId(String agentId) {
		this.agentId = agentId;
	}

	public Point getPoint() {
		return this.point;
	}

	public void setPoint(Point point) {
		this.point = point;
	}

	public Color getColor() {
		return this.color;
	}

	public void setColor(Color color) {
		this.color = color;
	}

	public Date getEventDate() {
		return this.eventDate;
	}

	public void setEventDate(Date eventDate) {
		this.eventDate = eventDate;
	}
}
